home *** CD-ROM | disk | FTP | other *** search
- /*
- This file was generated by BCC v2.0
- MUI mode
- */
-
- /* .bcc_code for MUI mode */
-
- /* Defines that help adjusting to any compiler */
- #ifdef _DCC
- #define REG(x) __ ## x
- #define ASM
- #define SAVEDS __geta4
- #else
- #define REG(x) register __ ## x
- #ifdef _STORM
- #define ASM
- #define SAVEDS __saveds
- #else
- #if defined __MAXON__ || defined __GNUC__
- #define ASM
- #define SAVEDS
- #else
- #define ASM __asm
- #define SAVEDS __saveds
- #endif
- #endif
- #endif
-
- #ifndef PROTO_MUIMASTER_H
- #include <proto/muimaster.h>
- #endif
-
- #ifndef PROTO_INTUITION_H
- #include <proto/intuition.h>
- #endif
-
- #ifndef PROTO_UTILITY_H
- #include <proto/utility.h>
- #endif
-
- #ifndef STRING_H
- #include <string.h>
- #endif
-
- #ifndef LIBRARIES_BCC_H
- #include <libraries/bcc.h>
- #endif
-
- #ifndef CLIB_ALIB_PROTOS_H
- #include <clib/alib_protos.h>
- #endif
-
- /* Only for custom methods */
- #define CallSuper() DoSuperMethodA(cl, obj, msg)
- #define GetData() INST_DATA(cl, obj)
-
- #include <proto/graphics.h>
-
- #include "EJG.h"
-
- static unsigned long mEJGOM_NEW( struct IClass *cl, Object *obj, struct opSet* msg )
- {
- unsigned long _ret;
- EJGData *data, _tdata;
- data = &_tdata;
- memset( data, 0, sizeof( EJGData ) );
- obj = (Object*)BCC_DoSuperNew( cl, obj,
-
- MUIA_Background, MUII_BACKGROUND,
- MUIA_Frame, MUIV_Frame_ReadList
- ,
- TAG_MORE, (unsigned long)msg->ops_AttrList,
- TAG_DONE );
- _ret = (unsigned long)obj;
- if( !obj ) return 0;
- data = INST_DATA( cl, obj );
- memcpy( data, &_tdata, sizeof( EJGData ) );
- {
- /* UC Beg */
-
-
-
- }
- /* UC End */
- OM_NEW_exit:
- return _ret;
- }
-
- static unsigned long mEJGMUIM_AskMinMax( struct IClass *cl, Object *obj, struct MUIP_AskMinMax* msg )
- {
- unsigned long _ret = 1;
- _ret = DoSuperMethodA( cl, obj, (Msg)msg );
- {
- /* UC Beg */
-
- msg->MinMaxInfo->MinWidth += 50;
- msg->MinMaxInfo->DefWidth += 120;
- msg->MinMaxInfo->MaxWidth += MBQ_MUI_MAXMAX;
-
- msg->MinMaxInfo->MinHeight += 6;
- msg->MinMaxInfo->DefHeight += 6;
- msg->MinMaxInfo->MaxHeight += 6;
-
-
- }
- /* UC End */
- MUIM_AskMinMax_exit:
- return _ret;
- }
-
- static unsigned long mEJGMUIM_Draw( struct IClass *cl, Object *obj, struct MUIP_Draw* msg )
- {
- unsigned long _ret = 1;
- EJGData *data = INST_DATA( cl, obj );
- _ret = DoSuperMethodA( cl, obj, (Msg)msg );
- {
- /* UC Beg */
-
-
- if ( msg->flags & MADF_DRAWUPDATE ) {
-
- SetBPen( _rp( obj ), 0 );
- ScrollRaster( _rp( obj ), 1, 0, _mleft( obj )+1, _mtop( obj ), _mright( obj ), _mbottom( obj ) );
- if( data->hit ) {
- SetAPen( _rp( obj ), 2 );
- WritePixel( _rp( obj ), _mright( obj ), _mtop( obj ) + 1 );
- }
- else {
- SetAPen( _rp( obj ), 1 );
- WritePixel( _rp( obj ), _mright( obj ), _mtop( obj ) + 4 );
- }
-
- data->hit = 0;
-
- }
-
-
- }
- /* UC End */
- MUIM_Draw_exit:
- return _ret;
- }
-
- static unsigned long mEJGMUIM_Show( struct IClass *cl, Object *obj, Msg msg )
- {
- unsigned long _ret = 1;
- EJGData *data = INST_DATA( cl, obj );
- _ret = DoSuperMethodA( cl, obj, (Msg)msg );
- if( !_ret ) return 0;
- {
- /* UC Beg */
-
- data->render = 1;
-
- }
- /* UC End */
- MUIM_Show_exit:
- return _ret;
- }
-
- static unsigned long mEJGMUIM_Hide( struct IClass *cl, Object *obj, Msg msg )
- {
- unsigned long _ret = 1;
- EJGData *data = INST_DATA( cl, obj );
- {
- /* UC Beg */
-
- data->render = 0;
-
- }
- /* UC End */
- MUIM_Hide_exit:
- if( !_ret ) return 0;
- _ret = DoSuperMethodA( cl, obj, (Msg)msg );
- return _ret;
- }
-
- static unsigned long mEJGAnim( struct IClass *cl, Object *obj, struct { unsigned long MethodID; unsigned long sig ; } *msg )
- {
- unsigned long _ret = 1;
- EJGData *data = INST_DATA( cl, obj );
- {
- /* UC Beg */
-
- if( data->render ) {
- if( (msg->sig) ) data->hit = 1;
- MUI_Redraw( obj, MADF_DRAWUPDATE );
- }
-
- }
- /* UC End */
- Anim_exit:
- return _ret;
- }
-
- /* MUI - EJG class dispatcher */
-
-
- static unsigned long SAVEDS ASM EJG_Dispatcher( REG(a0) struct IClass *cl, REG(a2) Object *obj, REG(a1) Msg msg )
- {
- switch( msg->MethodID ) {
- case MUIM_EJG_Anim: return mEJGAnim( cl, obj, (void*)msg );
- case OM_NEW: return mEJGOM_NEW( cl, obj, (struct opSet*)msg );
- case MUIM_AskMinMax: return mEJGMUIM_AskMinMax( cl, obj, (struct MUIP_AskMinMax*)msg );
- case MUIM_Draw: return mEJGMUIM_Draw( cl, obj, (struct MUIP_Draw*)msg );
- case MUIM_Show: return mEJGMUIM_Show( cl, obj, (Msg)msg );
- case MUIM_Hide: return mEJGMUIM_Hide( cl, obj, (Msg)msg );
- }
- return( DoSuperMethodA( cl, obj, msg ) );
- }
-
- struct MUI_CustomClass *EJG_Create( void )
- {
- return MUI_CreateCustomClass( NULL, MUIC_Area, NULL, sizeof( EJGData ), EJG_Dispatcher );
- }
-